X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/959f97d8ecd5c1668103a3e41c795486b944bc68..449d082fcc4873c1f7d363a0d9f7409be7f6e77d:/wp-admin/post.php?action=edit;post=%3C%3Fphp%20echo%20%24_GET%5B%27posted%27%5D;%20%3F%3E= diff --git a/wp-admin/post.php b/wp-admin/post.php index b9400b71..5f04fa71 100644 --- a/wp-admin/post.php +++ b/wp-admin/post.php @@ -1,4 +1,14 @@ urlencode( stripslashes( $_POST['_wp_original_http_referer'] ) ), + 'message' => 1 + ), get_edit_post_link( $post_ID, 'url' ) ); + else { + if ( isset( $_POST['publish'] ) ) { + if ( 'pending' == get_post_status( $post_ID ) ) + $location = add_query_arg( 'message', 8, get_edit_post_link( $post_ID, 'url' ) ); + else + $location = add_query_arg( 'message', 6, get_edit_post_link( $post_ID, 'url' ) ); + } else { + $location = add_query_arg( 'message', 7, get_edit_post_link( $post_ID, 'url' ) ); + } + } } elseif (isset($_POST['addmeta']) && $_POST['addmeta']) { $location = add_query_arg( 'message', 2, wp_get_referer() ); $location = explode('#', $location); @@ -36,18 +65,18 @@ function redirect_post($post_ID = '') { } elseif (!empty($referredby) && $referredby != $referer) { $location = $_POST['referredby']; $location = remove_query_arg('_wp_original_http_referer', $location); - if ( $_POST['referredby'] == 'redo' ) - $location = get_permalink( $post_ID ); - elseif ( false !== strpos($location, 'edit.php') ) - $location = add_query_arg('posted', $post_ID, $location); + if ( false !== strpos($location, 'edit.php') || false !== strpos($location, 'edit-post-drafts.php') ) + $location = add_query_arg('posted', $post_ID, $location); elseif ( false !== strpos($location, 'wp-admin') ) $location = "post-new.php?posted=$post_ID"; } elseif ( isset($_POST['publish']) ) { $location = "post-new.php?posted=$post_ID"; } elseif ($action == 'editattachment') { $location = 'attachments.php'; + } elseif ( 'post-quickpress-save-cont' == $_POST['action'] ) { + $location = "post.php?action=edit&post=$post_ID&message=7"; } else { - $location = "post.php?action=edit&post=$post_ID&message=4"; + $location = add_query_arg( 'message', 4, get_edit_post_link( $post_ID, 'url' ) ); } wp_redirect( $location ); @@ -55,20 +84,44 @@ function redirect_post($post_ID = '') { if ( isset( $_POST['deletepost'] ) ) $action = 'delete'; +elseif ( isset($_POST['wp-preview']) && 'dopreview' == $_POST['wp-preview'] ) + $action = 'preview'; switch($action) { case 'postajaxpost': case 'post': +case 'post-quickpress-publish': +case 'post-quickpress-save': check_admin_referer('add-post'); - $post_ID = 'post' == $action ? write_post() : edit_post(); + if ( 'post-quickpress-publish' == $action ) + $_POST['publish'] = 'publish'; // tell write_post() to publish + + if ( 'post-quickpress-publish' == $action || 'post-quickpress-save' == $action ) { + $_POST['comment_status'] = get_option('default_comment_status'); + $_POST['ping_status'] = get_option('default_ping_status'); + } + + if ( !empty( $_POST['quickpress_post_ID'] ) ) { + $_POST['post_ID'] = (int) $_POST['quickpress_post_ID']; + $post_ID = edit_post(); + } else { + $post_ID = 'postajaxpost' == $action ? edit_post() : write_post(); + } + + if ( 0 === strpos( $action, 'post-quickpress' ) ) { + $_POST['post_ID'] = $post_ID; + // output the quickpress dashboard widget + require_once(ABSPATH . 'wp-admin/includes/dashboard.php'); + wp_dashboard_quick_press(); + exit; + } redirect_post($post_ID); exit(); break; case 'edit': - $title = __('Edit'); $editing = true; if ( empty( $_GET['post'] ) ) { @@ -80,16 +133,19 @@ case 'edit': if ( empty($post->ID) ) wp_die( __("You attempted to edit a post that doesn't exist. Perhaps it was deleted?") ); - if ( 'page' == $post->post_type ) { - wp_redirect("page.php?action=edit&post=$post_ID"); + if ( 'post' != $post->post_type ) { + wp_redirect( get_edit_post_link( $post->ID, 'url' ) ); exit(); } wp_enqueue_script('post'); if ( user_can_richedit() ) wp_enqueue_script('editor'); - wp_enqueue_script('thickbox'); + add_thickbox(); wp_enqueue_script('media-upload'); + wp_enqueue_script('word-count'); + wp_enqueue_script( 'admin-comments' ); + enqueue_comment_hotkeys_js(); if ( current_user_can('edit_post', $post_ID) ) { if ( $last = wp_check_post_lock( $post->ID ) ) { @@ -104,7 +160,7 @@ case 'edit': } } - require_once('admin-header.php'); + $title = __('Edit Post'); if ( !current_user_can('edit_post', $post_ID) ) die ( __('You are not allowed to edit this post.') ); @@ -159,13 +215,22 @@ case 'delete': } $sendback = wp_get_referer(); - if (strpos($sendback, 'post.php') !== false) $sendback = get_option('siteurl') .'/wp-admin/post-new.php'; - elseif (strpos($sendback, 'attachments.php') !== false) $sendback = get_option('siteurl') .'/wp-admin/attachments.php'; - $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback); + if (strpos($sendback, 'post.php') !== false) $sendback = admin_url('edit.php?deleted=1'); + elseif (strpos($sendback, 'attachments.php') !== false) $sendback = admin_url('attachments.php'); + else $sendback = add_query_arg('deleted', 1, $sendback); wp_redirect($sendback); exit(); break; +case 'preview': + check_admin_referer( 'autosave', 'autosavenonce' ); + + $url = post_preview(); + + wp_redirect($url); + exit(); + break; + default: wp_redirect('edit.php'); exit();